<?php namespace Admin\Controller;
use Admin\Model\Role;
use Admin\Model\Node;
use Admin\Model\Access;
use Admin\Model\AdminRole;
//用户组管理控制器
class AuthGroupController extends CommonController{
	protected $model;
	//构造函数，实例化角色表
	public function __auto(){
		$this->model=new Role();
	}

	//角色列表
	public function index(){
		$data=$this->model->get();
		View::with('data',$data)->make();
	}

	//角色名修改
	public function edit(){
		if (IS_POST) {
			if(!$this->model->edit()) View::error($this->model->getError());
			View::success('修改成功','index');
		}
		$id=Q('get.id',0,'intval');
		$data=$this->model->where("id=$id")->find();
		View::with('data',$data)->make();
	}

	//角色添加
	public function add(){
		if (IS_POST) {
			if(!$this->model->store()) View::error($this->model->getError());
			View::success('添加成功','index');
		}
		View::make();
	}

	//分配权限
	public function rule(){
		$accessModel=new Access();
		if (IS_POST) {
			if(!$accessModel->edit()) View::error($accessModel->getError());
			View::success('分配成功','index');
		}
		$id=Q('get.id',0,'intval');
		$nodeModel=new Node();
		//获得节点多级目录数组
		$data=$nodeModel->getchannelLevel();
		//获得该角色所有的节点id
		$filed=$accessModel->where("role_id={$id}")->lists('node_id');
		$filed=$filed?$filed:[];
		View::with('filed',$filed);
		View::with('data',$data);
		View::make();
	}

	//角色删除
	public function del(){
		$id=Q('get.id',0,'intval');
		$roleModel=new Role();
		$adminroleModel=new AdminRole();
		//删除用户角色中间表
		$adminroleModel->where("role_id={$id}")->delete();
		//删除权限表
		$roleModel->where("id={$id}")->delete();
		//删除角色表
		$this->model->where("id={$id}")->delete();
		View::success('删除成功','index');
	}


}